﻿/*
内码对称 
Time Limit:1000MS  Memory Limit:32768K


Description:
C++中int型整数内码是一个32位的01序列，该01序列有些是对称的，有些是不对称的。
对于给定的一个整数，在一些场合，需要判断其整数内码的对称性。这个事情要做好还非你不行呢。

Input:
输入中含有一些整数n（0≤n<2^32）。 
Output:
统计其中一共有多少个其内码对称的整数，输出之。 
Sample Input:
0
1
2147483649
2
3
Sample Output:
2
*/
#include <iostream>
using namespace std;

int main()
{
	unsigned count=0;
	for (unsigned num; cin>>num;)
	{
		const int base32=32;
		int i=0, j=31;
		for (; i<j; i++, j--)
		{
			unsigned left=(num>>i)&0x1u;
			unsigned right=(num>>j)&0x1u;
			if(left!=right)
				break;
		}
		if(i>=j)
			count++;
	}
	cout<<count;
	return 0;
}